home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UTIL / MEMORY / OLD / MEM208SRC / FSLib / c / util < prev   
Text File  |  1993-08-22  |  2KB  |  91 lines

  1. /* Original code (c) Acorn Computers Ltd, 1992-3 */
  2.  
  3. /* $Id: c.util 3.1 93/03/09 20:11:48 brian Exp $ */
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #include "kernel.h"
  8. #include "interface.h"
  9. #include "util.h"
  10. #include "swis.h"
  11. #include <stdarg.h>
  12.  
  13. DEFERR(mb_BadParameters,0x100DC,"Bad parameters");
  14. DEFERR(mb_FileNotFound,0x100D6,"not found");
  15. DEFERR(mb_EOF,0xDF,"End of file");
  16. char *special_field;
  17.  
  18. /*
  19.  * Generic routines
  20.  */
  21.  
  22. void StampInfo
  23. ( Information_Fields *info )
  24. {
  25.   int time[2];
  26.   time[0]=3;
  27.   time[1]=0;
  28.   _kernel_osword(14,time);
  29.   if ( info->date_type.part_1>>20 != -1 )
  30.     info->date_type.part_1 = 0xfffffd00;
  31.   info->date_type.part_1&=~0xff;
  32.   info->date_type.part_1|=time[1];
  33.   info->date_type.part_2=time[0];
  34. }
  35.  
  36.  
  37. int readwidth
  38. ( void )
  39. {
  40.   int iblk[2];
  41.   int width;
  42.   _kernel_swi_regs regs;
  43.   iblk[0] = VduVariable_WindowWidth;
  44.   iblk[1] = -1;
  45.   regs.r[0] = ( int )&iblk;
  46.   regs.r[1] = ( int )&width;
  47.   _kernel_swi( OS_ReadVduVariables, ®s, ®s );
  48.   return width;
  49. }
  50.  
  51. #include <ctype.h>
  52.  
  53. int stricmp( const char *s1, const char *s2 )
  54. /* case independent string compare */
  55. {
  56.   int n = 0;
  57.   while ( (n=toupper(*s1)-toupper(*s2))==0 && *s1 )
  58.       ++s1,++s2;
  59.   return n;
  60. }
  61.  
  62. int strnicmp( const char *s1, const char *s2, int l )
  63. /* case independent string compare */
  64. {
  65.   int n = 0;
  66.   while ( l-- && (n=toupper(*s1)-toupper(*s2))==0 && *s1 )
  67.       ++s1,++s2;
  68.   return n;
  69. }
  70.  
  71. void strins(char *d, const char *s )
  72. /* Insert string s at the beginning of string d */
  73. {
  74.   int l=strlen(s);
  75.   int m=strlen(d);
  76.   memmove(&d[l],d,m+1);
  77.   memmove(d,s,l);
  78. }
  79.  
  80. /*{{{  char *strdup*/
  81. char *strdup
  82. ( const char *d )
  83. {
  84.   int m=strlen(d);
  85.   char *p = malloc(m+1);
  86.   if (p)
  87.     strcpy( p, d );
  88.   return p;
  89. }
  90. /*}}}  */
  91.